package com.ylz.sjzx.sio.common.core.core.container.common.annotation;


import com.ylz.sjzx.sio.common.core.enums.Cmd;

import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 适配器组件描述注解。
 * 用于描述API惟一标识
 */
@Target(TYPE)
@Inherited
@Retention(RUNTIME)
public @interface AdapterDesc {

    /**
     * API惟一标识 关联命令
     * * {@link Cmd}
     *
     * @return String
     */
    String id();

    /**
     * 默认false
     * true 只有管理组可以访问这些接口 比如白板等功能
     *
     * @return
     */
    boolean onlyAdmin() default false;

    /**
     * 服务间通信请求码
     *
     * @return
     */
    int requestCode() default -1;

}
